package io.gitee.yth.design.pattern.test.core.pattern.creational.singleton;

/**
 * 8) 枚举
 * <p>
 * 饿汉式
 * <p>
 * 底层是静态代码块实现（static{}）
 * <p>
 * 无法继承（因为字节码已经继承了Enum<Singleton8>）
 * 无法被继承，底层是final
 * <p>
 * 可以防止反射对单例的破坏<p>
 * 可以防止反序列化重新创建对象<p>
 * 这种方法是Effective Java作者Joshua Bloch提倡的方法
 *
 * @author yth
 * @since 2023-04-16-20:43
 */
public enum Singleton8 {
    INSTANCE;

    Singleton8() {
        System.out.println("construct");
    }

    public void sayOK() {
        System.out.println("OK");
    }

}
